#ifndef _CONFIRMQUIT_H_
#define _CONFIRMQUIT_H_

#include "guisystem.h"
#include "gameinfo.h"

#include "igamestateview.h"
#include "igamestate.h"

class ConfirmQuit;

class ConfirmQuitView : public IGameStateView
{
public:
    ConfirmQuitView(ConfirmQuit& model, GuiSystem& gui);
    void draw(bool clear);
    void onEnter();
private:

    void setup2dView();

    ConfirmQuit& _model;
    GuiSystem& _gui;

    static const GuiId GUI_YES = 999;
    static const GuiId GUI_NO = 998;

};

class ConfirmQuit : public IGameState
{
public:
    ConfirmQuit(GameInfo& gameInfo);
    ~ConfirmQuit();

    bool update(float dt, const Input& input);
    IGameStateView& getView();
    void onEnter();

private:

    GameInfo& _gameInfo;
    GuiSystem& _gui;
    ConfirmQuitView& _view;

    static const GuiId GUI_YES = 999;
    static const GuiId GUI_NO = 998;

};

#endif // _CONFIRMQUIT_H_
